package Vista;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JComboBox;

import Controlador.CEmpleado;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Font;
//librerias

import java.awt.BorderLayout;
import java.awt.Frame;
import java.awt.event.ActionListener;
import java.awt.event.WindowListener;

import javax.swing.DebugGraphics;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;

import clasesCreadas.JPanelImagen;

import java.awt.Color;
import java.util.Vector;
//librerias
@SuppressWarnings("all")
public class VEmpleado extends JFrame {

	private JPanel contentPane;
	private JTextField txt_nombre;
	private JTextField txt_cedula;
	private JTextField txt_telefono;
	private JTextField txtCooperativa;
	private JButton btnguardar;
	private JButton btnmodificar;
	private JButton btnlimpiar;
	private JButton btneliminar;
	private JComboBox cmbTipo;
	private JPanel logo;
	private JScrollPane scpEmpleado;
	private JTable tblEmpleado;
	
	
	private final static String[] TIPOS = {"Presidente", "Vice-Presidente", "Secretaria", "Tesorero", "Chofer"};
	
	public JButton getBtnguardar() {
		return btnguardar;
	}



	public JButton getBtnmodificar() {
		return btnmodificar;
	}



	public JButton getBtnlimpiar() {
		return btnlimpiar;
	}



	public JButton getBtneliminar() {
		return btneliminar;
	}



	public JButton getBtnbuscar() {
		return btnbuscar;
	}




	private JButton btnbuscar;
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					VEmpleado frame = new VEmpleado(null);
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	
	
	//Metodos Set y Get De los txt
	
	public JTextField gettxt_Nombre() {
		return txt_nombre;
	}

	public JTextField getTxtCooperativa() {
		return txtCooperativa;
	}


	
	public JTextField gettxt_Cedula(){
		return txt_cedula;
	}
	
	
	
	public JTextField gettxt_Telefono(){
		return txt_telefono;
	}

	

	
	//Metodo limpiar
	public void limpiar(){
		this.txt_cedula.setText("");
		this.txt_nombre.setText("");
		this.txt_telefono.setText("");
}
	//Mensajes
	
	/**
	 * Permitira mostrar un mensaje de informacion al usuario 
	 * @param mensaje a mostrar al usuario
	 */
	public void mostrarMensaje(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje, "Informacion", JOptionPane.INFORMATION_MESSAGE);
	}
	
	/**
	 * Permitira mostrar un mensaje de error al usuario 
	 * @param mensaje a mostrar al usuario
	 */
	public void mostrarMensajeError(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje, "ERROR", JOptionPane.ERROR_MESSAGE);
	}
	
	/**
	 * Permitira mostrar un mensaje de confirmacion al usuario 
	 * @param mensaje a mostrar al usuario
	 * @return respuesta del usuario
	 */
	public int mostrarMensajeConfirmacion(String mensaje) {
		return JOptionPane.showConfirmDialog(this, mensaje, "Selecciona una Opcion", JOptionPane.YES_NO_OPTION);
	}
	
	
	/** 
	 * Metodo que agrega una fila en la tabla de empleados
	 * @param datos fila que se va agregar en tblEmpleados
	 */
	public void agregarFilaTblEmpleados(Vector<String> datos) {
		DefaultTableModel modelo = (DefaultTableModel) tblEmpleado.getModel();	
		modelo.addRow(datos);
	}
	
	/**
	 * Metodo que permite remover todos los elementos de tblCasa
	 */
	public void limpiarTabla(){
		DefaultTableModel modelo = (DefaultTableModel) tblEmpleado.getModel();
		while (modelo.getRowCount() > 0) {
			modelo.removeRow(0);
		}
	}
			
			
	
	public VEmpleado(CEmpleado ce) {
		
		this.setExtendedState(Frame.MAXIMIZED_BOTH);
		this.setResizable(false);
		
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setBounds(100, 100, 574, 458);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		JPanel panel = new JPanel();
		panel.setBackground(Color.WHITE);
		contentPane.add(panel, BorderLayout.CENTER);
		panel.setLayout(null);
		
		logo = new JPanelImagen("Imagenes/logo.png");
		logo.setBounds(466, 258, 50, 50);
		panel.add(logo);
		
		scpEmpleado = new JScrollPane();
		//contentPane.add(scpCooperativas);
		panel.add(scpEmpleado);
		scpEmpleado.setBounds(71, 282, 335, 125);
		scpEmpleado.getHorizontalScrollBar().setSize(20, 10);
		
		DefaultTableModel tblCooperativaModel =
				new DefaultTableModel(
						new String[][] {},
						new String[] { "Cedula", "Empleado"});
		
		tblEmpleado = new JTable();
		DefaultTableCellRenderer modelocentrar = new DefaultTableCellRenderer();
        modelocentrar.setHorizontalAlignment(SwingConstants.CENTER);
        scpEmpleado.setViewportView(tblEmpleado);
        tblEmpleado.setModel(tblCooperativaModel);
        tblEmpleado.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        tblEmpleado.getTableHeader().setFont(new java.awt.Font("Tahoma",1,12));
        tblEmpleado.getTableHeader().setForeground(new java.awt.Color(64,128,128));
        tblEmpleado.getColumnModel().getColumn(0).setCellRenderer(modelocentrar);
        tblEmpleado.getColumnModel().getColumn(1).setCellRenderer(modelocentrar);
        tblEmpleado.setFont(new java.awt.Font("Tahoma",0,12));
        tblEmpleado.setEnabled(false);
		
		JLabel lblNombre = new JLabel("Nombre");
		lblNombre.setBounds(95, 141, 70, 15);
		lblNombre.setFont(new java.awt.Font("Tahoma",1,12));
		lblNombre.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblNombre);
		
		txt_nombre = new JTextField();
		txt_nombre.setBounds(227, 136, 145, 25);
		panel.add(txt_nombre);
		txt_nombre.setColumns(10);
		
		JLabel lblCedula = new JLabel("Cedula");
		lblCedula.setBounds(95, 99, 70, 15);
		lblCedula.setFont(new java.awt.Font("Tahoma",1,12));
		lblCedula.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblCedula);
		
		txt_cedula = new JTextField();
		txt_cedula.setBounds(227, 99, 145, 25);
		panel.add(txt_cedula);
		txt_cedula.setColumns(10);
		
		JLabel lblTelefono = new JLabel("Telefono");
		lblTelefono.setBounds(95, 182, 79, 19);
		lblTelefono.setFont(new java.awt.Font("Tahoma",1,12));
		lblTelefono.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblTelefono);
		
		txt_telefono = new JTextField();
		txt_telefono.setBounds(227, 179, 145, 25);
		panel.add(txt_telefono);
		txt_telefono.setColumns(10);
		
		JLabel lblTipoDeEmpleado = new JLabel("Cooperativa");
		lblTipoDeEmpleado.setBounds(91, 221, 97, 15);
		lblTipoDeEmpleado.setFont(new java.awt.Font("Tahoma",1,12));
		lblTipoDeEmpleado.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblTipoDeEmpleado);
		
		txtCooperativa = new JTextField();
		txtCooperativa.setBounds(227, 216, 145, 25);
		panel.add(txtCooperativa);
		txtCooperativa.setColumns(10);
		
		
		cmbTipo = new JComboBox();
		ComboBoxModel cmbTipoModel = new DefaultComboBoxModel(TIPOS);
		cmbTipo.setModel(cmbTipoModel);
		cmbTipo.setBounds(95, 248, 277, 25);
		cmbTipo.setFont(new java.awt.Font("Tahoma",1,12));
		cmbTipo.setForeground(new java.awt.Color(64,128,128));
		panel.add(cmbTipo);
		
		JLabel lblEmpleado = new JLabel("Empleado");
		lblEmpleado.setBounds(209, 33, 211, 25);
		lblEmpleado.setFont(new Font("Dialog", Font.BOLD, 24));
		lblEmpleado.setForeground(new java.awt.Color(64,128,128));
		panel.add(lblEmpleado);
		
		
		btnguardar = new JButton("Guardar");
		btnguardar.setBounds(436, 81, 171, 26);
		btnguardar.setForeground(new java.awt.Color(64,128,128));
		btnguardar.setFont(new java.awt.Font("Tahoma",1,12));
		btnguardar.setSize(99, 32);
		btnguardar.addActionListener(ce);
		panel.add(btnguardar);
		
		btnmodificar = new JButton("Modificar");
		btnmodificar.setBounds(436, 122, 171, 26);
		btnmodificar.setForeground(new java.awt.Color(64,128,128));
		btnmodificar.setFont(new java.awt.Font("Tahoma",1,12));
		btnmodificar.setSize(99, 32);
		btnmodificar.addActionListener(ce);
		panel.add(btnmodificar);
		
		btneliminar = new JButton("Eliminar");
		btneliminar.setBounds(436, 168, 171, 26);
		btneliminar.setForeground(new java.awt.Color(64,128,128));
		btneliminar.setFont(new java.awt.Font("Tahoma",1,12));
		btneliminar.setSize(99, 32);
		btneliminar.addActionListener(ce);
		panel.add(btneliminar);
		
		btnlimpiar = new JButton("Limpiar");
		btnlimpiar.setBounds(436, 212, 171, 26);
		btnlimpiar.setForeground(new java.awt.Color(64,128,128));
		btnlimpiar.setFont(new java.awt.Font("Tahoma",1,12));
		btnlimpiar.setSize(99, 32);
		btnlimpiar.addActionListener(ce);
		panel.add(btnlimpiar);
		
		
		btnbuscar = new JButton("Buscar");
		btnbuscar.setBounds(436, 33, 171, 26);
		btnbuscar.setForeground(new java.awt.Color(64,128,128));
		btnbuscar.setFont(new java.awt.Font("Tahoma",1,12));
		btnbuscar.setSize(99, 32);
		btnbuscar.addActionListener(ce);
		panel.add(btnbuscar);
		

		
		

		
	}



	public JComboBox getCmbTipo() {
		return cmbTipo;
	}
}
